前のページ   後のページ   目次へ



********************************

       ■■■■
     ■    ■       ■        ■
     ■           ■■■      ■■■
     ■    ■       ■        ■
       ■■■■
               〜基礎から ★ C++Programing〜
********************************

  【注意】 このマガジンは、最大化してお読みください。
       また、等角フォントでお読みください。
          (MS ゴシックなど)

********************************

 発行者      むーくん
 マガジンNO.  67(5−7)
 発行日      2001/2/16
 講読人数     2000名ぐらい
 マガジンID   0000050494
          このマガジンは、まぐまぐから配信されています。
********************************
★あいさつ★

まぐまぐMagazine、見ていただけましたか?
よかったら買ってね。

********************************






********************************
★目次★

・break文
・注意
・サンプルプログラム
・予告

********************************
★break文★

break文は、以前、switch文を扱ったときに出てきました。

本来の意味は、「コードブロック」を脱出するということです。

要するに、「if」「ループ」などから、脱出できるということです。

********************************
★注意★

・コードブロックが何重にもなっているときは、
 一番内側しか脱出できません。

・使いすぎるとプログラムの流れが分かりにくくなります。
 (gotoと同じように、スパゲッティープログラムの原因です)

********************************
★サンプルプログラム★

実際に使い方を見た方が早いでしょう。

お買い物プログラムです。所持金は10000円とします。
使った金額をユーザーに入力させ、最終的な残金を表示します。
但し、終了条件は、0を入力するか、所持金がなくなったときとします。

#include<iostream>
using namespace std;

int main(void){
    int reminder=10000, input;

    while(reminder > 0){                    /*簡潔な条件式*/
        cout << "使ったお金は? : ";
        cin >> input;
        reminder -= input;
        if(!input){                      /*簡潔な終了条件*/
            break; 
        }
    }
    cout << "残金は、" << reminder << "円です。" << endl;
    return 0;
}

これは、下のプログラムと同じ意味です。

#include<iostream>
using namespace std;

int main(void){
    int reminder=10000, input;

    while(reminder > 0 && input){      /*分かりにくい条件式*/
        cout << "使ったお金は? : ";
        cin >> input;
        reminder -= input;   
    }
    cout << "残金は、" << reminder << "円です。" << endl;
    return 0;
}


【解説】
break文を用いることで、条件式が簡単になり、
入力が0で終了するということが、より強調されています。

while文の条件式は「継続条件」なので、
「終了条件」とは逆になり、混乱の原因になるかもしれません。

どう使うかはプログラマの好みなので、
breakを使わなくても表現できます。
でもたまに、効率的なアルゴリズムになることがあるので、
覚えておきましょう。


実際には、エラーが起きたときの非常口にしたり、
頻出条件を先に省いたりすることに
使用することが多いでしょう。

********************************
★用語説明★

スパゲッティープログラム

  どこが始まりで、どこへつながるのかが非常に分かりにくい
  悪いプログラムの例え。
  
********************************
★予告★

・continue文を学習します。

********************************






********************************


講読解除はこちら

http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

バックナンバーはこちら
http://members.tripod.co.jp/mukun_mmg/mmg/cpp.html

内容について質問やご意見など
smukun@hotmail.com

筆者のWebサイト(むーくんの理学的なんでも講座)
http://members.tripod.co.jp/mukun_mmg/

************************************

前のページ   後のページ   目次へ